<?php
class Visualizza_model extends CI_Model {

	public function __construct()
	{
		$this->load->database();
	}

	public function get_elements($table)
	{
		$this->db->select('*');
		$this->db->from(''.$table);
		$query = $this->db->get();
	
		return $query->result_array();
	}
	
	public function get_dipartimento()
	{
		$this->db->select('id, dipartimento.nome, docente.nome as docnome, docente.cognome, dirige.id_anno');
		$this->db->from('dipartimento');
		$this->db->join('dirige', 'dipartimento.id = dirige.id_dipartimento');
		$this->db->join('docente', 'dirige.cf_docente = docente.cf');
		$this->db->order_by('id');
	
		$query = $this->db->get();
		return $query->result_array();
	
	}
	
	public function get_docente()
	{
	
		$this->db->select('docente.cognome, docente.nome, insegnamento.nome as inome, email');
		$this->db->distinct();
		$this->db->from('docente');
		$this->db->join('eroga', 'docente.cf = eroga.cf_docente');
		$this->db->join('insegnamento', 'eroga.id_insegnamento = insegnamento.id');
		$this->db->order_by('docente.cognome, docente.nome, insegnamento.nome');
	
		$query = $this->db->get();
	
		return $query->result_array();
	}
	
	public function get_esami()
	{
		$this->db->select('esame.matricola, nome, cognome, id_insegnamento, voto, lode, menzione, data_esame');
		$this->db->from('esame');
		$this->db->join('studente', 'esame.matricola = studente.matricola');
		$this->db->order_by('id_insegnamento');
	
		$query = $this->db->get();
		return $query->result_array();
	
	}
	
	public function get_frequenta($data)
	{
		$this->db->select('id_insegnamento, studente.matricola as matr, nome, cognome, id_anno_accademico');
		$this->db->from('frequenta');
		$this->db->join('studente', 'studente.matricola = frequenta.matricola');
		$this->db->where('studente.matricola ='.$data);
		$this->db->order_by('id_insegnamento');
	
		$query = $this->db->get();
		return $query->result_array();
	}
	
	public function get_insegnamento($data)
	{
		$this->db->select('id, anno_relativo');
		$this->db->from('insegnamento');
		$this->db->join('prevede','insegnamento.id = prevede.id_insegnamento');
		$this->db->where('nome_classe_principale', $data);
		$this->db->order_by('anno_relativo, id');
	
		$query = $this->db->get();
		return $query->result_array();
	
	}
	
	public function get_all_class()
	{
		$this->db->select('nome');
		$this->db->order_by('nome');
		$query = $this->db->get('classe_principale');
		return $query->result_array();
	}
	
	public function get_bestStudente()
	{
		$this->db->select('studente.matricola, cognome, nome, nome_classe_principale, email');
		$this->db->distinct();
		$this->db->from('studente');
		$this->db->join('esame', 'esame.matricola = studente.matricola');
		$this->db->join('iscritto_a', 'iscritto_a.matricola = studente.matricola');
		$this->db->group_by('cognome, nome, nome_classe_principale,studente.matricola');
		$this->db->having('avg(esame.voto) > 28');
		$this->db->order_by('cognome,nome,nome_classe_principale,studente.matricola');
	
		$query = $this->db->get();
	
		return $query->result_array();
	}
	
	public function get_studente()
	{
		$this->db->select('studente.matricola, cognome, nome, nome_classe_principale, email');
		$this->db->distinct();
		$this->db->from('studente');
		$this->db->join('iscritto_a', 'iscritto_a.matricola = studente.matricola');
		$this->db->group_by('cognome, nome, studente.matricola, nome_classe_principale');
		$this->db->order_by('studente.matricola');
	
		$query = $this->db->get();
	
		return $query->result_array();
	}
}